1. Field of the Invention
This invention relates to computing systems, and more particularly, to finding the sources of increased interrupt latencies, which create performance loss.
2. Description of the Relevant Art
As both semiconductor manufacturing processes advance and on-die geometric dimensions reduce, semiconductor chips provide more functionality and performance. Medical, business, education, engineering and entertainment applications increasingly use audio and video content, which demand greater performance from the semiconductor chips. Such applications may be categorized as multimedia applications which include a combination of any or all of text, audio, still images, animation, video, and user-interactivity content. Multimedia functionality and content increase the importance of efficient data transfer both into and out of a computing system, whether the computing system is a desktop computer, laptop computer, smart phone, portable media player, or otherwise.
In some cases, design issues arise that may limit the potential benefits provided by advanced semiconductor chips. One such issue is input/output (I/O) subsystems may reduce overall system performance if data transfer is inefficient. Additionally, inefficient interrupt handling performed within the I/O subsystem may severely impact performance. Interrupt handling may be used to service a variety of asynchronous events. Typically, when an interrupt is asserted, a corresponding handler or subroutine causes the processor to temporarily suspend one or more processes and then begin executing the subroutine.
Delays associated with interrupts include at least the time taken to detect an interrupt has been asserted, the time it takes to initiate execution of an interrupt service subroutine, and the time it takes for execution of the interrupt service subroutine to complete. One or more of these delays or sums of delays may be sufficiently large to prevent the processor from properly maintaining acceptable performance of the processes. For example, particular multimedia entertainment applications may experience adverse effects of real-time processes resulting in image flickering or freezes and audio popping or delayed playback. Another example may include medical equipment monitoring a patient and providing delayed readings or failing altogether. Further, a communication link may lose data being transmitted.
To find and observe design issues related to appreciable interrupt latencies is difficult. The conditions causing the latency may be difficult to reproduce and accurately measuring the interrupt latency in real-time may also be difficult. In some cases, a logic analyzer may be used to measure interrupt latencies and determine related design issues. However, a logic analyzer uses external links to connect to a computing system being tested and may not provide an accurate representation of the conditions as they exists during normal system operation. Further, the investigative process may be cumbersome and consume many hours.
In view of the above, efficient methods and systems for finding the sources of increased interrupt latencies, which create performance loss, are desired.